package models;

import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;

import org.hibernate.annotations.Cascade;
import org.hibernate.annotations.CascadeType;

@Entity
public class Banner extends Producto {

	@ManyToOne
	@Cascade(CascadeType.DELETE)
    @JoinColumn(name="idTerminacion")
	public Terminacion terminacion;
	
	@ManyToOne
	@Cascade(CascadeType.DELETE)
    @JoinColumn(name="idPortaBanner")
	public PortaBanner portaBanner;

	@Override
	public float calcularPrecio() {
		return (calcularPrecioBase() * calcularPrecioTerminacion() + calcularPrecioPortaBanner()) * cantidad ;
	}
	
	private float calcularPrecioTerminacion(){
		if(terminacion==null)
			return 1;	
		return 1 + terminacion.especificacionTerminacion.incremento / 100;
	}
	
	private float calcularPrecioPortaBanner(){
		if(portaBanner==null)
			return 0;
		return portaBanner.especificacionPortaBanner.precio;
	}
}
